package com.mt.roll.process.service;

import com.mt.roll.core.params.IdParam;
import com.mt.roll.core.vo.IdListVo;
import com.mt.roll.core.vo.IdVo;
import com.mt.roll.core.vo.R;
import com.mt.roll.process.params.ProcessFlowEquipmentListParam;
import com.mt.roll.process.params.ProcessFlowEquipmentParam;
import com.mt.roll.process.params.ProcessFlowEquipmentQueryParam;
import com.mt.roll.process.vo.*;

import java.util.List;

/**
 * @Author: liguanghao
 * @Date: 2020/12/31 15:16
 * @Version 1.0
 */
public interface ProcessFlowEquipmentService {
    /**
     * 获取详情
     *
     * @param idParam 主键参数
     * @return xx
     */
    R<ProcessFlowEquipmentVo> get(IdParam idParam);

    /**
     * 获取xx列表
     *
     * @param processFlowEquipmentQueryParam xx查询参数
     * @return xx列表
     */
    R<List<WorkSequenceEquipmentVo>> list(ProcessFlowEquipmentQueryParam processFlowEquipmentQueryParam);
    /**
     * 新增工艺设备点
     *
     * @param processFlowEquipmentListParam xx参数
     * @return 主键
     */
    R<IdListVo> add(ProcessFlowEquipmentListParam processFlowEquipmentListParam);

    /**
     * 更新xx
     *
     * @param processFlowEquipmentParam xx参数
     * @return 主键
     */
    R<IdVo> update(ProcessFlowEquipmentParam processFlowEquipmentParam);
    /**
     * 删除xx
     *
     * @param idParam 主键参数
     * @return 主键
     */
    R<IdVo> delete(IdParam idParam);

    /**
     * 获取设备配方列表
     *
     * @param idParam xx查询参数
     * @return xx列表
     */
    R<List<EquipmentRecipeVo>> equipmentRecipeList(IdParam idParam);

    /**
     * 获取设备bom列表
     *
     * @param idParam xx查询参数
     * @return xx列表
     */
    R<List<EquipmentBomVo>> equipmentBomList(IdParam idParam);

    /**
     * 获取所有设备配方列表
     *
     * @param
     * @return xx列表
     */
    R<List<EquipmentRecipeVo>> allEquipmentRecipeList();

    /**
     * 获取所有设备bom列表
     *
     * @param
     * @return xx列表
     */
    R<List<EquipmentBomVo>> allEquipmentBomList();
    /**
     * 获取设备列表
     *
     * @param
     * @return 获取设备列表
     */
    R<List<EquipmentVo>> equipmentList();
}
